package com.tsd.jxc.sale.dao;

import com.tsd.common.vo.BatchDeleteLogicVo;
import com.tsd.core.vo.PageBean;
import com.tsd.jxc.sale.entity.JxcSaleReturnBillDetail;
import com.tsd.jxc.sale.entity.JxcSaleReturnBillDetailExt;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 描述：JxcSaleReturnBillDetailMapper
 *
 * @author Hillpool
 * @date 2022/07/29 15:04:33
 */
public interface JxcSaleReturnBillDetailMapper {

    JxcSaleReturnBillDetail selectByPrimaryKey(Long id);

    JxcSaleReturnBillDetailExt selectBySid(String sid);

    int deleteByPrimaryKey(Long id);

    int insert(JxcSaleReturnBillDetail record);

    int insertSelective(JxcSaleReturnBillDetail record);

    int insertList(@Param("list") List<JxcSaleReturnBillDetailExt> list);

    int updateByPrimaryKey(JxcSaleReturnBillDetail record);

    int updateByPrimaryKeySelective(JxcSaleReturnBillDetail record);

    int updateList(@Param("list") List<JxcSaleReturnBillDetailExt> list);

    List<JxcSaleReturnBillDetailExt> selectByEntity(JxcSaleReturnBillDetailExt record);

    List<JxcSaleReturnBillDetailExt> selectByPage(@Param("params") Map<String, Object> params, @Param("page") PageBean page);

    List<JxcSaleReturnBillDetailExt> selectCount1Page(@Param("params") Map<String, Object> params, @Param("page") PageBean page);

    List<JxcSaleReturnBillDetailExt> selectByParams(@Param("params") Map<String, Object> params);

    int deleteLogicByIdList(BatchDeleteLogicVo logicVo);

    int deleteLogicByReturnList(BatchDeleteLogicVo logicVo);

    int restoreInBill(@Param("in_bill_list") List<String> in_bill_list);

    List<JxcSaleReturnBillDetailExt> selectOverReturn(@Param("return_sid_list") List<String> return_sid_list);

    List<JxcSaleReturnBillDetailExt> selectByReturnSidList(@Param("return_sid_list") List<String> return_sid_list);

    List<String> selectSaleDetailSidByReturnSidList(@Param("return_sid_list") List<String> return_bill_list);
}